1741C - Minimize the Thickness - CodeForces Solution


brute force math two pointers

Please click on ads to support us..

Python Code:

for _ in range(int(input())):
    n=int(input())
    lis=list(map(int,input().split()))
    ans=n
    s=sum(lis)
    s_sum=0
    for i in range(n):
        s_sum+=lis[i]
        ref=i+1
        if s%s_sum==0:
            cur_sum=0
            lower=0
            for j in range(i+1,n):
                cur_sum+=lis[j]
                lower+=1
                if cur_sum==s_sum:
                    cur_sum=0
                    ref=max(ref,lower)
                    lower=0
                elif cur_sum>s_sum:break
            if cur_sum==0:
                ans=min(ans,ref)
    print(ans)

C++ Code:

#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <cctype>
#include <cmath>
#include <string>
#include<math.h>
#include <bits/stdc++.h>
#include <map>
#define ll long long
const int mod=1e9+7;

using namespace std;

void solve(){
  ll n;
  cin>>n;
  ll a[n+1], s[n+1]={0};
  for(ll i=1; i<=n; i++){
    cin>>a[i];
    s[i]=s[i-1]+a[i];
  }
  ll p=0, ans=n, k, res, ok;
  for(ll i=1; i<=n; i++){
    k=i;
    res=i;
    p=0;
    ok=0;
    for(ll j=i+1; j<=n; j++){
      if(s[j]-s[i]>s[k]) break;
      if(s[j]-s[i]==s[k]){
        res=max(res, j-k);
        k=j;
        if(j==n){
          p = max(res, p);
          ok=1;
        }
      }
      if(ok) ans = min(ans, p);
    }
  }
  cout<<ans<<endl;
}

int main(){
  ll n;
  cin>>n;
  while(n--) solve();
}


Comments

Submit
0 Comments
More Questions

973. K Closest Points to Origin
969. Pancake Sorting
967. Numbers With Same Consecutive Differences
957. Prison Cells After N Days
946. Validate Stack Sequences
921. Minimum Add to Make Parentheses Valid
881. Boats to Save People
497. Random Point in Non-overlapping Rectangles
528. Random Pick with Weight
470. Implement Rand10() Using Rand7()
866. Prime Palindrome
1516A - Tit for Tat
622. Design Circular Queue
814. Binary Tree Pruning
791. Custom Sort String
787. Cheapest Flights Within K Stops
779. K-th Symbol in Grammar
701. Insert into a Binary Search Tree
429. N-ary Tree Level Order Traversal
739. Daily Temperatures
647. Palindromic Substrings
583. Delete Operation for Two Strings
518. Coin Change 2
516. Longest Palindromic Subsequence
468. Validate IP Address
450. Delete Node in a BST
445. Add Two Numbers II
442. Find All Duplicates in an Array
437. Path Sum III
436. Find Right Interval